MPI as a Coordination Layer for Communicating HPF Tasks
نویسندگان
چکیده
Data-parallel languages such as High Performance Fortran (HPF) present a simple execution model in which a single thread of control performs high-level operations on distributed arrays. These languages can greatly ease the development of parallel programs. Yet there are large classes of applications for which a mixture of task and data parallelism is most appropriate. Such applications can be structured as collections of data-parallel tasks that communicate by using explicit message passing. Because the Message Passing Interface (MPI) deenes standardized, familiar mechanisms for this communication model, we propose that HPF tasks communicate by making calls to a coordination library that provides an HPF binding for MPI. The semantics of a communication interface for sequential languages can be ambiguous when the interface is invoked from a parallel language; we show how these ambiguities can be resolved by describing one possible HPF binding for MPI. We then present the design of a library that implements this binding, discuss issues that innuenced our design decisions, and evaluate the performance of a prototype HPF/MPI library using a communications microbenchmark and application kernel. Finally, we discuss how MPI features might be incorporated into our design framework.
منابع مشابه
An MPI-based Run-Time Support to Coordinate HPF Tasks
This paper describes COLTHPF, an MPI{based run{time support for the coordination of concurrent and communicating HPF tasks. COLTHPF is conceived for use by a compiler of a high-level coordination language to structure a set of data-parallel HPF tasks according to popular forms of task-parallelism. Since it requires only small changes to the run-time support of the HPF compiler used, COLTHPF is ...
متن کاملCommunicating data-parallel tasks: an MPI library for HPF
High Performance Fortran (HPF) has emerged as a standard dialect of Fortran for data-parallel computing. However, HPF does not support task parallelism or heterogeneous computing adequately. This paper presents a summary of our work on a library-based approach to support task parallelism, using MPI as a coordination layer for HPF. This library enables a wide variety of applications, such as mul...
متن کاملMPI as a Coordination Layer
Data-parallel languages such as High Performance Fortran (HPF) p resent a simple execution model in which a single thread of control performs high-level operations on distributed arrays. These languages can greatly ease the development of parallel programs. Yet there are large classes of applications for which a mixture of task and data parallelism is most appropriate. Such applications can be ...
متن کاملCOLTHPF, a run-time support for the high-level co-ordination of HPF tasks
This paper describes COLTHPF, a run-time support specifically designed for the co-ordination of concurrent and communicating HPF tasks. COLTHPF is implemented on top of MPI and requires only small changes to the run-time support of the HPF compiler used. Although the COLTHPF API can be used directly by programmers to write applications as a flat collection of interacting data-parallel tasks, we...
متن کاملA Library-Based Approach to Task Parallelism in a Data-Parallel Language
Pure data-parallel languages such as High Performance Fortran version 1 (HPF) do not allow efficient expression of mixed task/data-parallel computations or the coupling of separately compiled data-parallel modules. In this paper, we show how these common parallel program structures can be represented, with only minor extensions to the HPF model, by using a coordination library based on the Mess...
متن کامل